package leetcode.primary.array;

import java.util.Arrays;

/**
 * TODO :给定一个数组 nums，编写一个函数将所有 0 移动到数组的末尾，同时保持非零元素的相对顺序。
 * 示例:
 * 输入: [0,1,0,3,12]
 * 输出: [1,3,12,0,0]
 *
 * @author david
 * @version 1.0
 * @date 2021/6/1616:10
 */
public class MoveZeroes {
    public static void main(String[] args) {
        int[] nums = {0, 1, 0, 3, 12};
        moveZeroes(nums);
        System.out.println(Arrays.toString(nums));
    }

    static void moveZeroes(int[] nums) {
        int left =0;
        //双指针法
        for(int right=1;right<nums.length;right++){
            if (nums[left]==0&&nums[right]!=0){
                nums[left]=nums[right];
                left++;
                nums[right]=0;
            }
            if (nums[left]!=0){
                left++;
            }
        }
    }
}
